<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script type="text/javascript">

//     [[Configurable]]：能否修改 / 删除 / 把属性修改为访问器属性
//          默认值：true
//     [[Enumerable]]：能否通过for-in循环
//          默认值：true
//     [[Writeable]]：能否修改属性的值
//          默认值：true
//     [[Value]]：属性的值
//          默认值：undefined
    var person = {
        name: '悟空',
        gender: '男',
        age: '500'
    }
    Object.defineProperty(person, 'name', {
        writable: false,
        configurable: false,
        value: '大圣'
    })
    person.name = '弼马温'
    delete person.name
    console.log(person)
    // 可以多次调用Object.defineProperty方法修改同一个属性
    // 但是把 configurable 修改为 false 后就会有限制了

</script>

</body>
</html>
